home *** CD-ROM | disk | FTP | other *** search
-
-
- /*************************************************************************
- ** *
- ** X25Server.h Defines required for X25 server access *
- ** *
- **-----------------------------------------------------------------------*
- ** *
- ** Copyright Apple Computer, Inc. 1987-88 *
- ** All Rights Reserved *
- ** Apple Computer Confidential *
- ** *
- **-----------------------------------------------------------------------*
- ** *
- ** Revision History: *
- ** 1.0d1 - Reserved1 in X25Msg definition changed to X25Msg Version *
- ** 1.0d1 - Status and SubStatus definitions from listenagent.h added *
- ** *
- ** *
- ** Thursday, September 20, 1990 2:02:27 PM *
- ** message codes and names added for interrupt handler, listener, *
- ** and listerer Agent to support the termination of the task by MacX25 *
- ** *
- *************************************************************************/
-
-
- #include "X25_System.h"
-
-
- /*
- * X.25 server MR-Dos message code definitions
- */
-
- #define LARequest 0x140 /* Listen Agent Request (x25 to LA) */
- #define LAReply 0x141 /* Listen Agent Reply (LA to x25) */
- #define Admin 0x142 /* X25 Services administration message */
- #define AckAdmin 0x143 /* Ack to administrative message */
- #define Diagnostic 0x144 /* Diagnostic message to Administrator */
- #define AckDiag 0x145 /* Ack to administrative Diagnostic message */
- #define TerminateLA 0x150 /* Terminate Listener Agent */
- #define TerminateListener 0x152 /* Terminate Listener */
- #define TerminateIH 0x154 /* Terminate Interrupt Handler */
-
- /*
- * message code used by x25 to get entry points of the Interrupt Handler
- */
-
- #define GET_ENTRY_POINTS 0x102 /* message from x25 to Get entry points */
-
-
- /*
- * mStatus returned by the interrupt handler to X25 (if error)
- */
-
- #define BAD_DATA_POINTER 0x1
- #define BAD_DATA_SIZE 0x2
-
-
- /*
- * X.25 Server MR-DOS message priority code definitions
- */
-
- #define NoPriority 0x0000
- #define PriorityMsg 0x8000
-
- /*
- * Lun number definitions
- */
-
- #define UNKNOWNLUN 0xFF /* lun number for unknown lun */
- #define SERVERLUN 0x00 /* server lun number */
-
-
- /*
- * Name and Type definitions for X25 component modules
- */
-
- #define ListenName "Listener Agent" /* Listen Agents Registered name */
- #define ListenType "X.25" /* Listen Agent's Registered Type */
- #define X25NAME "X25 Default" /* X.25 server's registered name */
- #define X25TYPE "X.25 Server" /* X.25 server's type */
- #define X25LMSTYPE "X25 LMS" /* X.25 type for usable with LMS on motherboard */
-
- #define ListenerName "Listener" /* Listener registered name */
- #define ListenerType "X25Listener" /* Listener registered type */
-
- #define X25_INTNAME "X25IntHandler" /* Interrupt Handler registered name */
- #define X25_INTTYPE "Driver" /* Interrupt Handler registered type */
-
-
- /********************************************************************************************
- *
- * The following structure and it's associated type and flag definitions
- * defines the format of an X25Msg.
- *
- *******************************************************************************************/
-
- typedef struct {
-
- _X25_common_header cmn_hdr;
- char Type; /* Message Type */
- char Version; /* Version of X25Msg header */
- short LunNum; /* Lun number */
- char Flags; /* Flag bits */
- char LineNum; /* X.25 Access link number */
- char Adaptor; /* X.25 Adaptor Number */
- char Reserved1; /* Reserved for future expansion */
- short PreProcessor; /* X.25 Preprocessor */
- short Status; /* The returned status code in response messages */
- short SubStatus1; /* Supplemental status codes */
- short SubStatus2; /* more supplemental status codes */
- long Reserved2; /* Reserved for future expansion */
- long Reserved3; /* Reserved for future expansion */
- char Data[]; /* Beginning of user data area */
- } X25Msg;
-
- /* X25Msg Version number */
-
- #define Revision 01
-
- /* X25Msg Adaptor numbers */
-
- #define X25Adaptor 0 /* X.25 */
- #define FRMAdaptor 2 /* Direct access to frame level */
- #define LMSAdaptor 4 /* LMS adaptor for bus interface */
- #define QLLCAdaptor 5 /* QLLC adaptor for SNA interface */
-
-
- /* Flag bit definitions */
-
- #define Request 0x01 /* set if X25Msg is a request, clear if a response */
-
- /* Message type definitions */
-
- #define X25Packet 0x00
- #define PVCconnect 0x01
- #define PVCdiscnct 0x02
- #define Register 0x03
- #define DeRegister 0x05
- #define ConfigSys 0x06
- #define ConfigLink 0x07
- #define ShutDown 0x08
- #define StartUp 0x09
- #define LinkStat 0x0A
- #define GetIniTab 0x0B
- #define GetStix 0x0C
- #define GetAvailMem 0x0D
- #define ICallRej 0x0E
-
- /* X25 Message Status Byte Definitions Used by module X25_if.c */
-
- #define NoError 0x00 /* Request processed without error */
- #define NoAgent 0x11 /* No listener agent to register request with */
- #define NoLun 0x12 /* User Lun cleared or never existed. */
- #define FlowCntrl 0x13 /* Flow control violation */
- #define LinkDown 0x16 /* X25 Access link is down */
- #define UnknownLink 0x17 /* Request received for Unassigned Access Link */
-
- /* MR-DOS mStatus byte definitions */
-
- #define UnknownX25Msg 0x10 /* Unknown Type code in X25Message Type field */
- #define UnknownmCode 0x11 /* Unknown code in MR-DOS mCOde field */
- #define UnknownPtype 0x12 /* Unknown packet type code in X25 Packet header */
- #define DupVCID 0x13 /* Duplicate VCID on open request */
- #define NoCircuits 0x14 /* Exceeded number of allowed virtual circuits */
- #define UnknownVCID 0x15 /* Unknown VCID in mOData[0] field of message */
- #define NoLinkTable 0x16 /* Link table hasent been loaded prior to a start */
- #define NoSysTable 0x17 /* System table hasent been loaded */
- #define NoMemory 0x18 /* Not enough memory to support configuration */
- #define PoolError 0x19 /* Table contains to many buffer pool definitions */
- #define PoolSize 0x20 /* Table contains a pool > 64K in size */
- #define NoModem 0x21 /* No DCD or DSR modem signals */
- #define BadType 0x22 /* Admin message type */
- #define BadHdrLenght 0x23 /* X25Msg header to short to be valid */
- #define BadDataSize 0x24 /* Zero length mDataSize in user or admin data */
-
-
-
- /*
- * Format of a Statistics Response Message
- */
-
-
-
- typedef struct LinkStix
- {
- X25Msg link_header;
- unsigned short frames_sent[32];
- unsigned short frames_rcvd[32];
- unsigned short aborted_frms_rcvd;
- unsigned short aborted_frms_sent;
- unsigned short bad_fcs_rcvd;
- unsigned short ovrsize_rcvd;
- unsigned short line_pkts_sent[32];
- unsigned short line_pkts_rcvd[32];
- } LinkStix;
-
-
-
-
- typedef struct VCStix
- {
- X25Msg link_header;
- unsigned short vc_packet_sent[32];
- unsigned short vc_packet_rcvd[32];
- } VCStix;
-
-
- enum frames_sent
- {
- fr_snd_ignore = 0,
- fr_snd_rr,
- fr_snd_rnr,
- fr_snd_rej,
- fr_snd_info,
- fr_snd_sabm,
- fr_snd_dm,
- fr_snd_disc,
- fr_snd_ua,
- fr_snd_frmr,
- fr_snd_bad_nr,
- fr_snd_unk,
- fr_snd_xid,
- fr_snd_badlength,
- fr_snd_timeout,
- fr_snd_l2up,
- fr_snd_l2dn,
- fr_snd_l1dn,
- fr_snd_connect,
- fr_snd_t4,
- fr_snd_t4_n2,
- fr_snd_reserved1,
- fr_snd_reserved2,
- fr_snd_reserved3,
- fr_snd_reserved4,
- fr_snd_reserved5,
- fr_snd_reserved6,
- fr_snd_reserved7,
- fr_snd_reserved8,
- fr_snd_reserved9,
- fr_snd_reserved10,
- fr_snd_reserved11,
- };
-
- enum frames_rcvd
- {
- fr_rcv_ignore = 0,
- fr_rcv_rr,
- fr_rcv_rnr,
- fr_rcv_rej,
- fr_rcv_info,
- fr_rcv_sabm,
- fr_rcv_dm,
- fr_rcv_disc,
- fr_rcv_ua,
- fr_rcv_frmr,
- fr_rcv_bad_nr,
- fr_rcv_unk,
- fr_rcv_xid,
- fr_rcv_badlength,
- fr_rcv_timeout,
- fr_rcv_l2up,
- fr_rcv_l2dn,
- fr_rcv_l1dn,
- fr_rcv_connect,
- fr_rcv_t4,
- fr_rcv_t4_n2,
- fr_rcv_reserved1,
- fr_rcv_reserved2,
- fr_rcv_reserved3,
- fr_rcv_reserved4,
- fr_rcv_reserved5,
- fr_rcv_reserved6,
- fr_rcv_reserved7,
- fr_rcv_reserved8,
- fr_rcv_reserved9,
- fr_rcv_reserved10,
- fr_rcv_reserved11,
- };
-
- enum line_pkts_sent
- {
- pa_snd_data = 0,
- pa_snd_rr,
- pa_snd_rnr,
- pa_snd_int,
- pa_snd_cfint,
- pa_snd_call,
- pa_snd_cfcall,
- pa_snd_clr,
- pa_snd_cfclr,
- pa_snd_res,
- pa_snd_cfres,
- pa_snd_diag,
- pa_snd_reg,
- pa_snd_cfreg,
- pa_snd_rst,
- pa_snd_cfrst,
- pa_snd_error,
- pa_snd_t20,
- pa_snd_t21,
- pa_snd_t22,
- pa_snd_t23,
- pa_snd_vccount,
- pa_snd_t24,
- pa_snd_t25,
- pa_snd_t26,
- pa_snd_t28,
- pa_snd_reserved1,
- pa_snd_reserved2,
- pa_snd_reserved3,
- pa_snd_reserved4,
- pa_snd_reserved5,
- pa_snd_reserved6,
- };
-
-
- enum line_pkts_rcvd
- {
- pa_rcv_data = 0,
- pa_rcv_rr,
- pa_rcv_rnr,
- pa_rcv_int,
- pa_rcv_cfint,
- pa_rcv_call,
- pa_rcv_cfcall,
- pa_rcv_clr,
- pa_rcv_cfclr,
- pa_rcv_res,
- pa_rcv_cfres,
- pa_rcv_diag,
- pa_rcv_reg,
- pa_rcv_cfreg,
- pa_rcv_rst,
- pa_rcv_cfrst,
- pa_rcv_error,
- pa_rcv_reserved1,
- pa_rcv_reserved2,
- pa_rcv_reserved3,
- pa_rcv_reserved4,
- pa_rcv_reserved5,
- pa_rcv_reserved6,
- pa_rcv_reserved7,
- pa_rcv_reserved8,
- pa_rcv_reserved9,
- pa_rcv_reserved10,
- pa_rcv_reserved11,
- pa_rcv_reserved12,
- pa_rcv_reserved13,
- pa_rcv_reserved14,
- pa_rcv_reserved15,
- };
-
- enum vc_packet_sent
- {
- vc_snd_data,
- vc_snd_rr,
- vc_snd_rnr,
- vc_snd_int,
- vc_snd_cfint,
- vc_snd_res,
- vc_snd_cfres,
- vc_snd_t24,
- vc_snd_t25,
- vc_snd_t26,
- };
-
- enum vc_packet_rcvd
- {
- vc_rcv_data,
- vc_rcv_rr,
- vc_rcv_rnr,
- vc_rcv_int,
- vc_rcv_cfint,
- vc_rcv_res,
- vc_rcv_cfres,
- };
-
-
-
- /*
- * Format of LinkStat Response Message
- */
-
- typedef struct StatusMsg
- {
- X25Msg link_header;
- char Levelone;
- char Leveltwo;
- short Circuits;
- char Modem;
- char Spare;
- }StatusMsg;
-
-
- /* Link Status modem bit definitions. */
-
- #define DCDStatus 0x01
- #define CTSStatus 0x02
- #define DSRStatus 0x04
- #define RIStatus 0x08
-
- /* Link Status state definitions */
-
- #define L1Connect 0x01
- #define L1Setup 0x00
- #define L1Disconnect 0xff
-
- #define L2Connect 0x01
- #define L2Setup 0x00
- #define L2Disconnect 0xff
-
-
-
- /* Clear cause field definitions used when we manufacture a clear packet */
-
- #define LclError 0x13 /* Local procedure error */
-
- /* Some packet codes that were overlooked in the TITN definition files */
-
- #define P_RESET_CONF 0x1f
- #define P_CLEAR_CONF 0x17
-
-
- /* The following codes were moved unchanged to this defn listing from listener.h */
-
- /* MR-DOS Error Codes for mStatus */
-
-
- #define LA_Invalid_TYPE 100 /* invalid selector code */
- #define LA_Invalid_PTR 101 /* invalid mDataPtr */
- #define LA_X25_SIZE_TOO_SMALL 102 /* x25 data area too small */
- #define LA_DR_INVALID_SIZE 103 /* DeRegister data area size invalid */
- #define LA_RU_SIZE_TOO_SMALL 104 /* Register User Data Area size small */
- #define LA_NO_REQUEST_FLAG 105 /* Request Flag not set */
-
- /* Primary Status codes are returned in the Status field of the X25Msg */
- /* If the returned code is other than noError then a secondary code is in SubStatus1 */
-
- #define noError 0 /* no Error found */
- #define noMatch 10 /* no listen found to match call */
- #define LA_EC_FormatError 9 /* Incorrect Listen Request Entry */
- #define LA_EC_NoPrimaryCode 24 /* no primary selector found */
- #define LA_DuplicateEntry 25 /* Duplicate Entry Found */
-
- /* Secondary Error codes are returned in the SubStatus1 field of the X25Msg */
- /* if SubSTatus1 != 0, then SubStatus2 equals the offset in the listen request */
- /* which failed */
-
- #define LA_EC_No_Error 0 /* Everything is OK */
- #define LA_EC_CallingNSAP_Used 1 /* Calling NSAP address already used */
- #define LA_EC_CalledNSAP_Used 2 /* Called NSAP address already used */
- #define LA_EC_DTE_SubAlreadyUsed 3 /* DTE sub address already used */
- #define LA_EC_DTE_CallingUsed 4 /* DTE calling address already used */
- #define LA_EC_CUD_AlreadyUsed 5 /* Call User Data already used */
- #define LA_EC_CUG_AlreadyUsed 6 /* Closed User Group already used */
- #define LA_EC_ARC_AlreadyUsed 7 /* Accept Reverse Charging already used */
- #define LA_EC_AFS_AlreadyUsed 8 /* Accept Fast Select already Used */
- #define LA_EC_BiCUG_AlreadyUsed 10 /* Bilateral closed user group already used */
- #define LA_EC_InvalidCode 20 /* invalid selector code */
- #define LA_Invalid_StringSize 21 /* string size too large */
- #define LA_Invalid_MaskSize 22 /* mask size too large */
- #define LA_StringNotMaskSize 23 /* mask not same size as string */
- #define LA_EC_NoPrimaryCode 24 /* no primary selector found */
- #define LA_DuplicateEntry 25 /* Duplicate Entry Found */
- #define LA_InvalidMask 27 /* Mask not 0x0F for nibble match */
- #define LA_EC_CallingNSAP_Taken 28 /* Calling NSAP address already used */
- #define LA_EC_CalledNSAP_Taken 29 /* Called NSAP address already used */
- #define LA_EC_DTE_SubAddressTaken 30 /* DTE sub address already used */
- #define LA_EC_DTE_CallingTaken 31 /* DTE calling address already used */
- #define LA_EC_CUD_AlreadyTaken 32 /* Call User Data already used */
-